Abstract: This work proposes a methodology for source code quality and static behaviour evaluation of a software
system, based on the standard ISO/IEC-9126. It uses elements automatically derived from source code
enhanced with expert knowledge, in the form of quality characteristic rankings, allowing software
engineers to assign weights to source code attributes. It is flexible in terms of the set of metrics and
source code attributes employed, even in terms of the ISO/IEC-9126 characteristics to be assessed. We
applied the methodology to two case studies, involving five open source and one proprietary system.
Results demonstrated that the methodology can capture software quality trends and express expert
perceptions concerning system quality in a quantitative and systematic manner
Abstract: Clustering is an important research topic for wireless sensor
networks (WSNs). A large variety of approaches has been
presented focusing on dierent performance metrics. Even
though all of them have many practical applications, an ex-
tremely limited number of software implementations is avail-
able to the research community. Furthermore, these very few
techniques are implemented for specic WSN systems or are
integrated in complex applications. Thus it is very difficult
to comparatively study their performance and almost impos-
sible to reuse them in future applications under a dierent
scope. In this work we study a large body of well estab-
lished algorithms. We identify their main building blocks
and propose a component-based architecture for developing
clustering algorithms that (a) promotes exchangeability of
algorithms thus enabling the fast prototyping of new ap-
proaches, (b) allows cross-layer implementations to realize
complex applications, (c) oers a common platform to com-
paratively study the performance of dierent approaches,
(d) is hardware and OS independent. We implement 5 well
known algorithms and discuss how to implement 11 more.
We conduct an extended simulation study to demonstrate
the faithfulness of our implementations when compared to
the original implementations. Our simulations are at very
large scale thus also demonstrating the scalability of the
original algorithms beyond their original presentations. We
also conduct experiments to assess their practicality in real
WSNs. We demonstrate how the implemented clustering
algorithms can be combined with routing and group key es-
tablishment algorithms to construct WSN applications. Our
study clearly demonstrates the applicability of our approach
and the benets it oers to both research & development
communities.